package com.loukou.lkt.lkt.service;

import java.util.Date;

import com.loukou.lkt.lkt.bo.PageList;
import com.loukou.lkt.lkt.bo.PoPurchaseReturnOrderFinaceBo;
import com.loukou.lkt.lkt.bo.PoPurchaseReturnOrderFinaceListBo;
import com.loukou.lkt.lkt.req.PurchaseOrderReturnReqDto;
import com.loukou.lkt.lkt.req.WmsOutOrderCallbackReq;
import com.loukou.lkt.lkt.resp.PageModel;
import com.loukou.lkt.lkt.resp.PoPurchaseOrderReturnDetailRespDto;
import com.loukou.lkt.lkt.resp.RespDto;

public interface PoPurchaseReturnOrderService {
	public PoPurchaseReturnOrderFinaceBo getFinaceCheckReturnOrder(int orderReturnId);
	

	public RespDto<PageList<PoPurchaseReturnOrderFinaceListBo>> getFinaceCheckReturnOrderList(
			int orderState,String returnOrder,String supplierCode,String supplierName,int purchaseType,
			String returnPerson,Date startReturnTime,Date endReturnTime,int pageIndex,int pageSize);

	/**
     * LKT将退货单传给WMS
     * @param allocationOrderResp
     * @return
     */
    public RespDto<String> sendPurchaseReturnOrderToWms(int purchaseOrderId);
	
	/**
	 * 更新退货单
	 * @param req
	 * @return
	 */
	public RespDto<String> updatePurchaseReturn(int stockOutOrderId,WmsOutOrderCallbackReq req);

	public RespDto<String> finaceAuditReturnOrder(int orderReturnId,int userId);
	
	public RespDto<String> finaceRejectReturnOrder(int orderReturnId,int userId);
	
	/**
	 * 
	 * @param req
	 * @return 创建退货单
	 */
	public RespDto<String> submitReturnOrder(PurchaseOrderReturnReqDto req);
	
	/**
	 * 获取退货单详情（退货单编辑的订单获取复用）
	 * @param orderCode
	 * @return
	 */
	public PoPurchaseOrderReturnDetailRespDto getReturnOrderDetail(String orderCode);


	/**
	 * 编辑退货单
	 * @param req
	 * @return
	 */
	public RespDto<String> editReturnOrder(PurchaseOrderReturnReqDto req);
	
	/**
	 * 
	 * @param warehouseId
	 * @param supplierId
	 * @param pageNum
	 * @param pageSize
	 * @return 退货起始页
	 */
	public PoPurchaseOrderReturnDetailRespDto getReturnOrderInit(
			int warehouseId,int supplierId);
}
